Sorting and searching are the most common functions done on a computer. One estimate is twenty percent of all computing resources are used to sort and search strings. In this regard, sorting is performed occasionally, but searching is done almost all of the time. Given the ubiquity of search operations, procedures that further optimize search functions are always in great demand. It is estimated that worldwide spending on search functions has entered the trillions of dollars, so improvements to even a small percentage of search operations would represent a very significant for industry. Tree searching, binary searching, and hash searching are common algorithms used today. Tree searching and binary searching quickly narrow down a set of results, but do not necessarily move directly to the correct position in a string. Hash searching is the fastest search procedure of these three, and does go directly to the correct position. However, hash searching does not find nearby sorted elements if an exact match is not found. Therefore, hash searching does not work for insert, like, or between database calls if an exact string match is not found.